#pragma once

#include "GLDrawable.h"

class GLIcon : public GLDrawable
{
	using Super = GLDrawable;

public:
	using Super::Super;
	QVector<QVector3D> getVertices();

public:
	void setPos(const QPoint& pos)
	{
		mPos = pos;
	}

	const QPoint& pos() const
	{
		return mPos;
	}
	void setIconSize(const QSize& s)
	{
		mIconSize = s;
	}

	const QSize& iconSize() const
	{
		return mIconSize;
	}

	// 组件整体变换用的矩阵
	const QMatrix4x4& compMat() const;
	void			  setCompMat(const QMatrix4x4& mat);

private:
	QPoint mPos;
	QSize  mIconSize = QSize(32, 32);
	QMatrix4x4 mCompMat;
};
